package com.team.merchant.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.team.common.core.annotation.Excel;
import com.team.common.core.web.domain.BaseEntity;

/**
 * 商户信息对象 biz_merchant_info
 * 
 * @author panyue
 * @date 2025-07-14
 */
public class MerchantInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商户ID */
    private Long id;

    /** 店面 */
    @Excel(name = "店面")
    private String merchantName;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    private String contactName;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String contactPhone;

    /** 门店缩略图 */
    @Excel(name = "门店缩略图")
    private String photo;

    /** 星级数 */
    @Excel(name = "星级数")
    private BigDecimal starAmount;

    /** 门店地址 */
    @Excel(name = "门店地址")
    private String address;

    /** 审核状态（0待审核、1已审核、2已拒绝） */
    @Excel(name = "审核状态", readConverterExp = "0=待审核、1已审核、2已拒绝")
    private Long auditStatusId;

    /** 销量 */
    @Excel(name = "销量")
    private Long sales;

    /** 状态（0正常、1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常、1停用")
    private String status;

    /** 删除标志（0表示存在，1表示删除） */
    private String delFlag;

    /** 经营区域 */
    @Excel(name = "经营区域")
    private String operatingArea;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date regTime;

    /** 开始营业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始营业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 停止营业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停止营业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 系统用户表外键 */
    @Excel(name = "系统用户表外键")
    private Long userId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setMerchantName(String merchantName) 
    {
        this.merchantName = merchantName;
    }

    public String getMerchantName() 
    {
        return merchantName;
    }

    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }

    public void setContactName(String contactName) 
    {
        this.contactName = contactName;
    }

    public String getContactName() 
    {
        return contactName;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }

    public void setStarAmount(BigDecimal starAmount) 
    {
        this.starAmount = starAmount;
    }

    public BigDecimal getStarAmount() 
    {
        return starAmount;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setAuditStatusId(Long auditStatusId) 
    {
        this.auditStatusId = auditStatusId;
    }

    public Long getAuditStatusId() 
    {
        return auditStatusId;
    }

    public void setSales(Long sales) 
    {
        this.sales = sales;
    }

    public Long getSales() 
    {
        return sales;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setOperatingArea(String operatingArea) 
    {
        this.operatingArea = operatingArea;
    }

    public String getOperatingArea() 
    {
        return operatingArea;
    }

    public void setRegTime(Date regTime) 
    {
        this.regTime = regTime;
    }

    public Date getRegTime() 
    {
        return regTime;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("merchantName", getMerchantName())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("contactName", getContactName())
            .append("contactPhone", getContactPhone())
            .append("photo", getPhoto())
            .append("starAmount", getStarAmount())
            .append("address", getAddress())
            .append("auditStatusId", getAuditStatusId())
            .append("sales", getSales())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("operatingArea", getOperatingArea())
            .append("regTime", getRegTime())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("userId", getUserId())
            .toString();
    }
}
